/**
 * ReportGear(2011)
 */
package net.abbp.report.model.headerfooter;

import java.awt.geom.Dimension2D;

import javax.swing.Icon;

import net.abbp.core.api.ICloneable;

import com.reportgear.core.api.BaseObject;
import com.reportgear.report.model.headerfooter.editor.ElementEditor;

/**
 * 页眉页脚元素
 * 
 * @version 1.0 2011-4-22
 * @author <a herf="lexloo@gmail.com">lexloo</a>
 * @since Report 1.0
 */
public interface HFElement extends ICloneable<BaseObject> {
    /**
     * 获取尺寸
     * 
     * @return 尺寸
     */
    public Dimension2D getSize();

    /**
     * 获取显示标签
     * 
     * @return 标签
     */
    public String getCaption();

    /**
     * 对象编辑器
     * 
     * @return 对象编辑器
     */
    public ElementEditor getEditor();

    /**
     * 获取图标
     * 
     * @return 图标
     */
    public Icon getIcon();
}
